package ie.flax.flaxengine.client.weave.view.animation;
import com.google.gwt.animation.client.Animation;
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.client.Window;
public class AnimationFade extends Animation{
private final Element el;
private boolean inOut; //and the award for least descriptive name goes to...
public AnimationFade(Element element) {
this.el = element;
}
public void fadeIn(int milliseconds) {
inOut = true;
run(milliseconds);
}
public void fadeOut(int milliseconds) {
inOut = false;
run(milliseconds);
}
@Override
protected void onUpdate(double progress) {
if (inOut) {
el.getStyle().setOpacity(progress);
} else {
el.getStyle().setOpacity(1.0-progress);
}
}
@Override
protected void onStart() {
if(inOut){
el.getStyle().setZIndex(0);
}
super.onStart();
}
@Override
protected void onComplete(){
if (!inOut) {
el.getStyle().setZIndex(-1);
}
super.onComplete();
}
}